package br.com.sgpv2.hibernate.entidade;

import java.util.List;

import br.com.sgpv2.controler.NegocioExeception;
import br.com.sgpv2.entity.organograma.Entidade;

public interface EntidadeRepository {
	
	/**
	 * Método que salva uma Entidade no sistema.
	 */
	void salvar(Entidade entidade);

	/**
	 * Método que busca uma Entidade no sistema.
	 */
	Entidade buscar(Integer pk) throws NegocioExeception;

	/**
	 * Método que altera uma Entidade no sistema.
	 */
	void alterar(Entidade entidade);

	/**
	 * Método que lista todas as Entidades do sistema.
	 */
	List<Entidade> listar();

	/**
	 * Método que exclui um Entidade do sistema.
	 */
	void excluir(Entidade entidade);

	/**
	 * Método que busca uma entidade de acordo com o nome.
	 */
	
	Entidade buscarEntidadePorNome(String nome);


}
